*{margin: 0;padding: 0;}
:root {
    --background-color: #f5f5f5;
    --border-color: #7591AD;
    --text-color: #34495e;
    --color1: #EC3E27;
    --color2: #fd79a8;
    --color3: #0984e3;
    --color4: #00b894;
    --color5: #fdcb6e;
    --color6: #e056fd;
    --color7: #F97F51;
    --color8: #BDC581;
}
.center{
    margin-left: auto;
    margin-right: auto;
}      
.banner{
    width: 100%; height: 420px; background:url(../images/QQ图片20190417132228.jpg) no-repeat center ;}
.nav{
    position: fixed;
    width: 100%;
    height: 60px;
    background-color: #83BBD8;
    opacity: 0;
    z-index: 100;
}
.nav-right{
    float: right;

    /*height: 40px;*/
    /*line-height: 40px;*/

   }
    
.nav-right>a{
    display: inline-block;
    width: 80px;
    height: 40px;
    /*margin: 0 10px;*/
    line-height: 40px;
    color: rgb(39, 39, 39);
    text-decoration: none;
}
/**/

.nav-right a {
    position: relative;
    padding: 0 10px;
    line-height: 40px;
    height: 40px;
    margin: 10px 10px;
    /*line-height: 50px;*/
    /*padding: 12px 40px;*/
    border-radius: 30px;
    /*font-size: 30px;*/
    color: #FFF;
    text-align: center;
    text-decoration: none;
    /* 使用linear-gradient生成一个线性渐变的“背景图” */
    background-image: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    /* 放大背景图 */
    background-size: 400%;
    /* 这里是为了让a标签的背景显示在a::before的下面 */
    z-index: 1;
}

.nav-right a:hover {
    /* 创建动画
        动画名称show
        执行时间8秒
        线性
        循环执行
    */
    animation: show 8s linear infinite;
}

/* 动画主体
    从初始到结束，移动背景图的位置
*/

@keyframes show {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}

/* 创建背景炫光效果 */
.nav-right a::before{
    position: absolute;
    content: "";
    top:-5px;
    left:-5px;
    right:-5px;
    bottom:-5px;
    /* 使用linear-gradient生成一个线性渐变的“背景图” */
    background-image: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    /* 放大背景图 */
    background-size: 400%;
    border-radius: 40px;
    z-index: -1;
    filter: blur(20px);
    /* 默认不显示 */
    opacity: 0;
}
.nav-right a:hover::before{
    opacity: 1;
    /* 背景炫光增加动画 */
    /* 与按钮的动画保持一致 */
    /* 创建动画
        动画名称show
        执行时间8秒
        线性
        循环执行
    */
    animation: show 8s linear infinite;
}
/**/

.tit p {
    font-size: 1.3rem;
    /*border-right: .1em solid;*/
    width: 140ch;
    white-space: nowrap;
    overflow: hidden;
    animation: typing 2s steps(20, end), blink-caret .3s step-end infinite alternate;
    /*margin: -30px 0 0 90px;*/
    transition: all 0.3s;
}

.banner:hover .tit p {
    font-size: 1.5rem;
}

.tit>p{
    color: white;
    text-align: center;
}
.title{
    font-size: 48px;
    line-height: 200px;
    /*line-height: 420px;*/
}
.content{
    width: 1100px ;
}
.personal{
    width: 1000px;height: 300px ;
    /* background-color: wheat; */
    margin-top: 100px;
    
    }

.personal-left,.personal-right{
    width: 480px;
    height: 300px;
    float: left;
    margin-top: 20px;
}
.personal-left>img{
     width: 245px;height: 245px;
    border-radius: 50%;
    margin-top: 30px;
    margin-left: 20px;
}
.text-left>h3{
    margin-bottom: 20px;
}
.text-left{
    line-height: 30px;
    /*padding-top: 50px;*/
    float: right;
    clear: both;
}
.text-right{
       
    padding-top: 30px;}

.text-right>p{
    padding-top: 20px;
    padding-left: 50px;
    padding-right: 20px;
    line-height: 30px;

}
.line{
    width: 2px;height: 140px;
    float: left;
    background-color:#177CB0;
    margin-top: 100px;
    margin-left: 30px;
}

.myhome{
    width: 1000px;
    height: 400px;
    /* background-color: #91d0f0; */
    clear: both;
    margin-top: 100px;
}
.map-baidu{
    height: 300px;
    width: 450px;
    margin: 50px 20px 20px 20px;
    float: left;

}
.myhome-right{
    width: 450px;
    height: 350px;
    margin:50px 20px 20px 20px;
    float: left;
}
.myhome-right>p{
    text-indent: 40px;
    margin-top: 10px;

}


.favorite{
    width: 1000px;
    height: 600px;
    /* background-color: #91d0f0; */
    clear: both;
    margin-top: 100px;
   
}
.favorite-list{
    margin-top: 50px;
}
/**/
.share {
    /*position: absolute;*/
    width: 100px;
    height: 310px;
    padding-right: 30px;
    top: -.1%;
    /* 通过调整背景色透明度让背景透明 */
    background-color: rgba(255, 255, 255, .5);
    /* 这会让整个层和内部元素全部透明 */
    /* opacity: 0.85; */
    /* flex 布局 让图标靠右上角 */
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    /* 让旋转的圆心点在左上角 */
    transform-origin: left bottom;
    transition: 0.5s;
}

.share .icon {
    margin-top: 20px;
    margin-right: 20px;
    color: var(--background-color);
    /* 初始一个旋转角度，让图标产生旋转效果 */
    transform: rotate(-180deg);
    transition: 0.5s;
}

.share .icon:hover {
    color: #fd79a8;
}

.pic:hover .share {
    /* 倾斜-15度 */
    transform: rotate(-15deg) translateY(-14px);
    /* 增加个阴影 */
    box-shadow: -10px -10px 100px #000;
}
/**/

.icon:hover {
    transform: translateY(-10px);
    box-shadow: 2px 12px 15px rgba(0, 0, 0, 0.4), inset -1px -1px 2px rgba(0, 0, 0, 0.2);
}

.icon i {
    display: block;
    width: 75%;
    height: 75%;
    font-size: 36px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
    background-color: #f5f5f5;

}
.pic:hover .icon{
    transform: rotate(18deg);
}
/**/
.icon:hover i{
    text-shadow:  -1px -1px 1px rgba(0, 0, 0, 0.2);

}
.icon.icontravel:hover i {
    background-color: var(--color1);
    color: #fff;
}

.icon.iconfood:hover i {
    background-color: var(--color2);
    color: #fff;
}

.icon.iconcat:hover i {
    background-color: var(--color3);
    color: #fff;
}

.icon.iconhuacao:hover i {
    background-color: var(--color4);
    color: #fff;
}
.icon.iconshopping:hover i {
    background-color: var(--color3);
    color: #fff;
}

.icon.iconplay:hover i {
    background-color: var(--color4);
    color: #fff;
}
/**/
.travel,.food,.cat,.huacao,.shopping,.play{
    width: 280px;
    height: 340px;
    /* border: 1px solid #333; */
    float: left;
    margin: 30px 30px 20px 20px ;
}

.icontravel,.iconfood,.iconcat,.iconhuacao,.iconshopping,.iconplay{
    width: 60px;
    height: 60px;
    /* border: 1px solid rgb(130, 130, 130); */
    border-radius: 50%;
    background-color: white;
    margin-top: -30px;
}

.travel:hover,.food:hover,.cat:hover,.huacao:hover,.shopping:hover,.play:hover{
    transform: translateY(-10px);
    box-shadow: 0 0 2px 4px #e0e0e0;
}
.travel{
    background: url(../images/风景1.png) no-repeat center center;
    background-size: 300px;transition: all 1s;
}
.food{
    background: url(../images/美食3.jpg) no-repeat center center;
    background-size: 550px;transition: all 1s;
}
.cat{
    background: url(../images/cat.jpg) no-repeat center center;
    background-size: 300px;transition: all 1s;
}
.huacao{
    background: url(../images/多肉1.jpg) no-repeat center center;
    background-size: 300px;transition: all 1s;
}
.shopping{
    background: url(../images/逛街.jpg) no-repeat center center;
    background-size: 550px;transition: all 1s;
}
.play{
    background: url(../images/游戏1.jpg) no-repeat center center;
    background-size: 300px;transition: all 1s;
}
.travel>p,.food>p,.cat>p,.huacao>p,.shopping>p,.play>p{
    float: left;
    font-size: 12px;
    color: rgb(235, 228, 228);

}
.skills{
    width: 1100px;
    /*height: 400px;*/
    /* background-color: #91d0f0;*/
    clear: both;
    padding-top: 100px;
    /*position: relative;*/
}
.skill{
    /*margin-left: 50px;*/
    margin-top: 40px;
}


/*section*/

.programming h1 {
    position: relative;
    font-size: 21px;
    color: #b76a91;
    /*color: #544E58;*/

    /* 默认状态为透明度0，不显示 */
    opacity: 0;
    /* 增加动画，显示名字 */
    /* 动画名称show_name */
    /* 持续2秒 */
    /* 线性开始结束放慢 */
    /* 延迟0.5秒 */
    /* 执行1次 */
    /* 结束时停在最后一帧 */
    /* 统一使用show动画 */
    animation: show 2s ease-in-out 0.5s 1 forwards;
}

/* 创建动画透明度从开始0到结束1  */

@keyframes show {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.programming h1::before {
    position: absolute;
    /* 这里必须是Unicode编码 */
    /* 注意：转换完毕去掉\后面的U */
    content: '\4e3b\6253\4e00\4e2a\6d3b\5230\8001\5b66\5230\8001';
    /* 颜色改为透明让背景色显示出来 */
    color: transparent;
    /* 使用linear-gradient函数生成一个渐变“图片”做背景 */
    /* 渐变颜色随便个人喜好 */
    background-image: linear-gradient(to right, #bed742, #f8aba6, #585eaa, #ed1941, #7fb80e, #f26522, #ffc20e, #7c8577, #009ad6, #65c294, #f47920, #f15b6c, #2e3a1f);
    /* 这个谷歌浏览器不起作用 */
    background-clip: text;
    /* 谷歌浏览器适配 */
    -webkit-background-clip: text;
    /* 制作一个斜矩形遮罩 */
    /* 使用polygon方法 */
    /* 矩形需要定义四个角的坐标，顺时针方向定义 */
    /* 分别为左上、右上、右下、左下 */
    /* 位置以百分比为单位 */
    /* 因为要做动画，所有先将遮罩层移除当前可视区域 */
    clip-path: polygon(-20% 0%, 0% 0%, -10% 100%, -30% 100%);
    /* 增加动画 */
    /* 动画名称light */
    /* 持续时间2秒 */
    /* 延迟0秒执行 */
    /* 直接方式循环 */
    /* 延迟2秒执行等待显示 */
    animation: light 2s 2s infinite;
}

/* 初始与结束保持一致 */

/* 中间为最右侧 */

@keyframes light {
    0% {
        clip-path: polygon(-20% 0%, 0% 0%, -10% 100%, -30% 100%);
    }
    50% {
        clip-path: polygon(100% 0%, 120% 0%, 110% 100%, 90% 100%);
    }
    100% {
        clip-path: polygon(-20% 0%, 0% 0%, -10% 100%, -30% 100%);
    }
}

#programming {
    --padding: 0;
    display: flex;
    /*padding-top: 20vh;*/
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 1920px) {
    #programming {
        align-items: center;
    }
}
@media (max-width: 536px) {
    #programming p {
        text-align: left;
        padding: 1.25em;
        word-break: break-all;
        -webkit-hyphens: auto;
        hyphens: auto;
    }
    #programming br {
        display: none;
    }
}
#nodes {
    margin: 0 0;
    /*margin: 20vh 0;*/
    overflow-x: auto;
    scrollbar-width: none;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}
#nodes::-webkit-scrollbar {
    width: 0;
    height: 0;
}
@media (max-width: 600px) {
    #nodes {
        margin: 10vh 0;
    }
}
#nodes svg {
    margin-top: -160px;
}
#nodes text {
    font-family: Monaco, Consolas, "Lucida Console", monospace;
    font-size: 16px;
}
#nodes path {
    opacity: .3;
    stroke-dasharray: 1200;
}
#node-scroll-button {
    position: absolute;
    right: 20px;
    padding: 10px;
    margin-top: 300px;
    animation: bounce 2s infinite;
    cursor: pointer;
    transition: opacity .3s ease-in;
}
#nodes.reached #node-scroll-button {
    opacity: 0;
}
@media (min-width: 1800px) {
    #node-scroll-button {
        opacity: 0;
    }
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(-30px);
    }
    60% {
        transform: translateX(-15px);
    }
}
/*section*/



.under{
    width: 600px;height: 20px;
    background-color: #e0e0e0;border-radius: 10px;
    opacity: .5;
}
.up1,.up2,.up3,.up4{
   height: 20px;
    background-color: #91d0f0;border-radius: 10px;
    margin-top: -20px;
}
.up1{ width: 480px;}
.up2{ width: 300px;}
.up3{ width: 100px;}
.up4{ width: 300px;}
.skills-right{
    width: 320px;
    height: 300px;
    position: absolute;
    top:180px;
    right: 0;
}
.skills-right>p{
    margin-top: 10px;
    text-indent: 30px;
    line-height: 32px;
}
/**/

.loader {
    position: relative;
    width: 100px;
    height: 100px;
    background-image: linear-gradient(var(--color1), var(--color2), var(--color3));
    border-radius: 100%;
    animation: animate .5s linear infinite;
}

.loader::after {
    position: absolute;
    content: '';
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    background-color: var(--background-color);
    border-radius: 50%;
}

.loader div{
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    background-image: linear-gradient(var(--color1), var(--color2), var(--color3));
    border-radius: 50%;
    /* animation: animate 5s linear infinite; */

}
.loader div:nth-child(1){
    filter: blur(15px);
}
.loader div:nth-child(2){
    filter: blur(30px);
}
.loader div:nth-child(3){
    filter: blur(20px);
}
.loader div:nth-child(4){
    filter: blur(25px);
}

@keyframes animate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/**/
.workshow{
    width: 1000px;
    height: 400px;
    clear: both;
    margin-top: 100px;
    position: relative;
}
.workshow-left{
    height: 200px;
    margin-left: 200px;
}
.one,.two,.there,.four,.five,.six{
    background-color: thistle;
    border-radius: 50%;
    float: left;
    margin-left: 10px;
    box-shadow: 4px 4px 12px 2px rgb(179, 179, 179) inset;
}
.one{
    width: 20px;height: 20px;
    margin-top: 85px;
}
.two{
    width: 50px;height: 50px;
    margin-top: 70px;
}
.two>a>p{
    text-align: center;
    line-height: 50px;
    font-size: 16px;
}
.there{
    width: 80px;height: 80px;
    margin-top: 55px;
}
.there>a>p{
    text-align: center;
    line-height: 80px;
    font-size: 18px;
}
.four{
    width: 110px;height: 110px;
    margin-top: 40px;
}
.four>a>p{
    text-align: center;
    line-height: 110px;
    font-size: 20px;
}
.five{
    width: 150px;height: 150px;
    margin-top: 25px;
}
.five>a>p{
    text-align: center;
    line-height: 150px;
    font-size: 22px;
}
.six{
    width: 200px;height: 200px;
}
.six>a>p{
    text-align: center;
    line-height: 200px;
    font-size: 24px;
}
.two>a,.there>a,.four>a,.five>a,.six>a{
    text-decoration: none;color: #333;
}
.one:hover,.two:hover,.there:hover,.four:hover,.five:hover,.six:hover{
    transform: translateY(-15px);
    transition: all 1s;
    background-color: rgb(213, 179, 213);
}


.aircraft{
    width: 160px;height: 120px;
    margin-left: 30px;
    position: absolute;
    left: 0;top: 75px;}
.girl{
    position: absolute;
    left: 0;bottom: 0;
    width: 150px;height: 180px;
    margin-left: 30px;
}
.nav-footer{
    width: 100%;
    height: 100px;
    background-color: #91d0f0;
    clear: both;
    /* margin-top: 100px; */
}
.foot{
    width: 600px;
    height: 100px;
}

.qq,.weixin,.weibo{
    width: 200px;
    float: left;
    text-align: center;
    margin-top: 20px;
    color:rgb(58,58,58);
}
.icon-weixin{
    width: 40px;
    height: 40px;
}
.top{
    position: fixed;
    bottom: 100px;
    right: 40px;
    border-radius: 50%;
    width: 40px;height: 40px;
    background: url(../images/top.jpg) no-repeat center center;
    background-size: 40px;
    border: 1px solid #e0e0e0;

}